//
//  thread_specific.c
//  
//
//  Created by mars on 29/07/2013.
//  Copyright (c) 2013 __MyCompanyName__. All rights reserved.
//

#include <stdio.h>

int pthread_key_create (pthread_key_t *key, void (*destructor)(void *));
int pthread_setspecific (pthread_key_t key, const void *value);
void *pthread_getspecific (pthread_key_t key);

pthread_rwlock_init (pthread_rwlock_t *lock,
                     const pthread_rwlockattr_t *attr);
int pthread_rwlock_destroy (pthread_rwlock_t *lock);
int pthread_rwlock_rdlock (pthread_rwlock_t *rwlock);
int pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock);
int pthread_rwlock_wrlock (pthread_rwlock_t *rwlock);
int pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock);